package main

import (
	"fmt"
)

func main()  {

	/*
		正数的符号位为0，负数的符号位为1

		都是用补码进行计算的
			正数的原码，反码，补码都一样
			负数的反码为原码符号位不变，其余位取反。补码为反码加1.

		左移：低位补0，符号位不变
		右移：符号位不变，符号位补高位
	*/
	
	a := 1>>2
	b := 1<<2

	c := -1>>8
	d := -1<<2

	fmt.Println("a=",a)
	fmt.Println("b=",b)
	fmt.Println("c=",c)
	fmt.Println("d=",d)
}
